//1.自定义函数
//#include<stdio.h>
//int main()
//{
//	char num1 = '3';
//	char num2 = '4';
//	int sum;
//	sum = add(num1, num2);//调用函数add，括号里是两个num1,num2是实际产参数，num1,num2的类型  尽量  要和调用函数定义的形式参数一样，虽然也能用，但是换到其他编译器可能会出bug
//	printf("%d\n", sum);
//	return 0;
//
//}
//int add(int a, int b)//定义了一个参数，add是名字，括号里的  int a,int b  是定义了两个形式参数，调用这个函数时只能输入
//                     //自定义函数必须定义在main函数的外面,main函数的上面或者下面无所谓，甚至可以在其他的文件中
                        //在主函数上面的不用声明，在主函数下面定义的，如果主函数中使用则需要在主函数中声明才能使用
//{
//	int z = a + b;
//	return z;//因为上面的定义是int类型的，所以返回的z也应该是int类型的
//}

//return 一次只能返回一个变量

//函数内部不能在定义函数

//函数必须保证先声明后使用。定义可以在声明的下方，函数的声明可以放在main（）函数的外面或者内部，但一定要放在使用这个函数之前

//函数设计高内聚低耦合>>>高内聚--函数相对独立     低耦合--两者关联尽量小    函数尽量做到模块化，一个函数和另一个函数没什么关系

//函数中的形式参数是在栈中保存的

//全局变量如果不初始化则默认为0；局部变量不初始化则为随机值     

//sizeof返回的是一个无符号整型数字   当有符号数字与之比较的时候，会先转化为无符号数字>>>也就是1不在代表的是负数位

//自定义函数中如果有形式参数，那么在声明的时候也必须带上这个形参，只写上类型就行，不用和定义的形参变量名字一样

//补充：在定义的空函数没有定义形参变量，但是调用的时候传参仍然能调用成功。但是不可取，解决办法就是 void test(void),这样就不能传值了

//补充：自定函数的形参是数组的时候，可以设置为数组的形式，虽然本质上是指针，但是还是能够按照数组的方式去进行调用。但是参与计算的时候需要注意

